﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FileToVideo.Interface
{
    /// <summary>
    /// 帧数据接口
    /// </summary>
    public interface IFrameData
    {
        /// <summary>
        /// 帧ID
        /// </summary>
        int frame_id { get; set; }

        /// <summary>
        /// 版本控制
        /// <br />
        /// 当前数据模型版本,用于数据兼容性判断
        /// <br />
        /// 规则: 主版本.次版本.修订版本(如: 1.0.0)
        /// <br />
        /// 当主版本变化时,表示不兼容的重大变化
        /// </summary>
        [System.ComponentModel.Description("版本号")]
        [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] // 防止在智能感知中显示此属性
        const string Version = "1.0.0";

        /// <summary>
        /// 内容数据
        /// </summary>
        string data { get; set; }

        /// <summary>
        /// 版本控制
        /// <br />
        /// 当前数据模型版本,用于数据兼容性判断
        /// <br />
        /// 规则: 主版本.次版本.修订版本(如: 1.0.0)
        /// <br />
        /// 当主版本变化时,表示不兼容的重大变化
        /// </summary>
        public string GetVersion() => Version;

        /// <summary>
        /// 内容数据
        /// </summary>
        /// <returns></returns>
        public string GetData() => data;

        /// <summary>
        /// 设置内容数据
        /// </summary>
        /// <param name="data"></param>

        public void SetData(string data) => this.data = data;
    }
}
